<?php
class Ingreso extends AppModel {

    var $name = 'Ingreso';    
    
    var $belongsTo = array(        
        'CodigoDocumentoRef' => array(
            'className' => 'CodigoDocumentosAlmacene',
            'foreignKey' => 'codigo_documento_ref_id'
        ),        
        'Cliente' => array(
            'className' => 'Cliente',
            'foreignKey' => 'cliente_id'
        ),         
        'TipoOperacion' => array(
            'className' => 'TipoOperacionesAlmacene',
            'foreignKey' => 'tipo_movimiento_id'
        )        
    ); 
    
    var $hasMany = array(
    	'IngresoDetalle'=>array(
    		'className' => 'IngresoDetalle',
            'foreignKey' => 'ingreso_id'
    	)
    );
    
    public function getNumeroControl(){
    	$Ingreso = $this->find('first', 
    				array(
    					'fields'=>array('substring("Ingreso"."numero_control", 3,7) as "Ingreso__numero_control"'),
    					'conditions'=>array(
	    					'Ingreso.centro_dist_id'=>$this->centroDistId(),
    						'Ingreso.ejercicio_id'=>$this->ejercicioId()),
    					'order'=>array('Ingreso.numero_control'=>'desc'),
    					'recursive'=>-1
    				));
    	if(!empty($Ingreso)){
    		$correlativo = (int)$Ingreso['Ingreso']['numero_control']+1;
    		return 	str_repeat('0', 2-strlen($this->centroDistId()))
    					.$this->centroDistId()
    					.str_repeat('0', 5-strlen($correlativo))
    					.$correlativo;
    	} else {
    		return 	str_repeat('0', 2-strlen($this->centroDistId()))
    					.$this->centroDistId().'00001';
    	}
    	
    }
}
?>